package com.ibiaoke.customer.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class PtSpecialCustomerExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    protected int limitStart;

    protected int limitEnd;

    protected String groupByClause;

    public PtSpecialCustomerExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimitStart(int limitStart) {
        this.limitStart=limitStart;
    }

    public int getLimitStart() {
        return limitStart;
    }

    public void setLimitEnd(int limitEnd) {
        this.limitEnd=limitEnd;
    }

    public int getLimitEnd() {
        return limitEnd;
    }

    public void setGroupByClause(String groupByClause) {
        this.groupByClause=groupByClause;
    }

    public String getGroupByClause() {
        return groupByClause;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andCustomerIdIsNull() {
            addCriterion("customer_id is null");
            return (Criteria) this;
        }

        public Criteria andCustomerIdIsNotNull() {
            addCriterion("customer_id is not null");
            return (Criteria) this;
        }

        public Criteria andCustomerIdEqualTo(Integer value) {
            addCriterion("customer_id =", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdNotEqualTo(Integer value) {
            addCriterion("customer_id <>", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdGreaterThan(Integer value) {
            addCriterion("customer_id >", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("customer_id >=", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdLessThan(Integer value) {
            addCriterion("customer_id <", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdLessThanOrEqualTo(Integer value) {
            addCriterion("customer_id <=", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdIn(List<Integer> values) {
            addCriterion("customer_id in", values, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdNotIn(List<Integer> values) {
            addCriterion("customer_id not in", values, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdBetween(Integer value1, Integer value2) {
            addCriterion("customer_id between", value1, value2, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdNotBetween(Integer value1, Integer value2) {
            addCriterion("customer_id not between", value1, value2, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerUsernameIsNull() {
            addCriterion("customer_username is null");
            return (Criteria) this;
        }

        public Criteria andCustomerUsernameIsNotNull() {
            addCriterion("customer_username is not null");
            return (Criteria) this;
        }

        public Criteria andCustomerUsernameEqualTo(String value) {
            addCriterion("customer_username =", value, "customerUsername");
            return (Criteria) this;
        }

        public Criteria andCustomerUsernameNotEqualTo(String value) {
            addCriterion("customer_username <>", value, "customerUsername");
            return (Criteria) this;
        }

        public Criteria andCustomerUsernameGreaterThan(String value) {
            addCriterion("customer_username >", value, "customerUsername");
            return (Criteria) this;
        }

        public Criteria andCustomerUsernameGreaterThanOrEqualTo(String value) {
            addCriterion("customer_username >=", value, "customerUsername");
            return (Criteria) this;
        }

        public Criteria andCustomerUsernameLessThan(String value) {
            addCriterion("customer_username <", value, "customerUsername");
            return (Criteria) this;
        }

        public Criteria andCustomerUsernameLessThanOrEqualTo(String value) {
            addCriterion("customer_username <=", value, "customerUsername");
            return (Criteria) this;
        }

        public Criteria andCustomerUsernameLike(String value) {
            addCriterion("customer_username like", value, "customerUsername");
            return (Criteria) this;
        }

        public Criteria andCustomerUsernameNotLike(String value) {
            addCriterion("customer_username not like", value, "customerUsername");
            return (Criteria) this;
        }

        public Criteria andCustomerUsernameIn(List<String> values) {
            addCriterion("customer_username in", values, "customerUsername");
            return (Criteria) this;
        }

        public Criteria andCustomerUsernameNotIn(List<String> values) {
            addCriterion("customer_username not in", values, "customerUsername");
            return (Criteria) this;
        }

        public Criteria andCustomerUsernameBetween(String value1, String value2) {
            addCriterion("customer_username between", value1, value2, "customerUsername");
            return (Criteria) this;
        }

        public Criteria andCustomerUsernameNotBetween(String value1, String value2) {
            addCriterion("customer_username not between", value1, value2, "customerUsername");
            return (Criteria) this;
        }

        public Criteria andCustomerPasswordIsNull() {
            addCriterion("customer_password is null");
            return (Criteria) this;
        }

        public Criteria andCustomerPasswordIsNotNull() {
            addCriterion("customer_password is not null");
            return (Criteria) this;
        }

        public Criteria andCustomerPasswordEqualTo(String value) {
            addCriterion("customer_password =", value, "customerPassword");
            return (Criteria) this;
        }

        public Criteria andCustomerPasswordNotEqualTo(String value) {
            addCriterion("customer_password <>", value, "customerPassword");
            return (Criteria) this;
        }

        public Criteria andCustomerPasswordGreaterThan(String value) {
            addCriterion("customer_password >", value, "customerPassword");
            return (Criteria) this;
        }

        public Criteria andCustomerPasswordGreaterThanOrEqualTo(String value) {
            addCriterion("customer_password >=", value, "customerPassword");
            return (Criteria) this;
        }

        public Criteria andCustomerPasswordLessThan(String value) {
            addCriterion("customer_password <", value, "customerPassword");
            return (Criteria) this;
        }

        public Criteria andCustomerPasswordLessThanOrEqualTo(String value) {
            addCriterion("customer_password <=", value, "customerPassword");
            return (Criteria) this;
        }

        public Criteria andCustomerPasswordLike(String value) {
            addCriterion("customer_password like", value, "customerPassword");
            return (Criteria) this;
        }

        public Criteria andCustomerPasswordNotLike(String value) {
            addCriterion("customer_password not like", value, "customerPassword");
            return (Criteria) this;
        }

        public Criteria andCustomerPasswordIn(List<String> values) {
            addCriterion("customer_password in", values, "customerPassword");
            return (Criteria) this;
        }

        public Criteria andCustomerPasswordNotIn(List<String> values) {
            addCriterion("customer_password not in", values, "customerPassword");
            return (Criteria) this;
        }

        public Criteria andCustomerPasswordBetween(String value1, String value2) {
            addCriterion("customer_password between", value1, value2, "customerPassword");
            return (Criteria) this;
        }

        public Criteria andCustomerPasswordNotBetween(String value1, String value2) {
            addCriterion("customer_password not between", value1, value2, "customerPassword");
            return (Criteria) this;
        }

        public Criteria andCustomerNicknameIsNull() {
            addCriterion("customer_nickname is null");
            return (Criteria) this;
        }

        public Criteria andCustomerNicknameIsNotNull() {
            addCriterion("customer_nickname is not null");
            return (Criteria) this;
        }

        public Criteria andCustomerNicknameEqualTo(String value) {
            addCriterion("customer_nickname =", value, "customerNickname");
            return (Criteria) this;
        }

        public Criteria andCustomerNicknameNotEqualTo(String value) {
            addCriterion("customer_nickname <>", value, "customerNickname");
            return (Criteria) this;
        }

        public Criteria andCustomerNicknameGreaterThan(String value) {
            addCriterion("customer_nickname >", value, "customerNickname");
            return (Criteria) this;
        }

        public Criteria andCustomerNicknameGreaterThanOrEqualTo(String value) {
            addCriterion("customer_nickname >=", value, "customerNickname");
            return (Criteria) this;
        }

        public Criteria andCustomerNicknameLessThan(String value) {
            addCriterion("customer_nickname <", value, "customerNickname");
            return (Criteria) this;
        }

        public Criteria andCustomerNicknameLessThanOrEqualTo(String value) {
            addCriterion("customer_nickname <=", value, "customerNickname");
            return (Criteria) this;
        }

        public Criteria andCustomerNicknameLike(String value) {
            addCriterion("customer_nickname like", value, "customerNickname");
            return (Criteria) this;
        }

        public Criteria andCustomerNicknameNotLike(String value) {
            addCriterion("customer_nickname not like", value, "customerNickname");
            return (Criteria) this;
        }

        public Criteria andCustomerNicknameIn(List<String> values) {
            addCriterion("customer_nickname in", values, "customerNickname");
            return (Criteria) this;
        }

        public Criteria andCustomerNicknameNotIn(List<String> values) {
            addCriterion("customer_nickname not in", values, "customerNickname");
            return (Criteria) this;
        }

        public Criteria andCustomerNicknameBetween(String value1, String value2) {
            addCriterion("customer_nickname between", value1, value2, "customerNickname");
            return (Criteria) this;
        }

        public Criteria andCustomerNicknameNotBetween(String value1, String value2) {
            addCriterion("customer_nickname not between", value1, value2, "customerNickname");
            return (Criteria) this;
        }

        public Criteria andCustomerSexIsNull() {
            addCriterion("customer_sex is null");
            return (Criteria) this;
        }

        public Criteria andCustomerSexIsNotNull() {
            addCriterion("customer_sex is not null");
            return (Criteria) this;
        }

        public Criteria andCustomerSexEqualTo(Integer value) {
            addCriterion("customer_sex =", value, "customerSex");
            return (Criteria) this;
        }

        public Criteria andCustomerSexNotEqualTo(Integer value) {
            addCriterion("customer_sex <>", value, "customerSex");
            return (Criteria) this;
        }

        public Criteria andCustomerSexGreaterThan(Integer value) {
            addCriterion("customer_sex >", value, "customerSex");
            return (Criteria) this;
        }

        public Criteria andCustomerSexGreaterThanOrEqualTo(Integer value) {
            addCriterion("customer_sex >=", value, "customerSex");
            return (Criteria) this;
        }

        public Criteria andCustomerSexLessThan(Integer value) {
            addCriterion("customer_sex <", value, "customerSex");
            return (Criteria) this;
        }

        public Criteria andCustomerSexLessThanOrEqualTo(Integer value) {
            addCriterion("customer_sex <=", value, "customerSex");
            return (Criteria) this;
        }

        public Criteria andCustomerSexIn(List<Integer> values) {
            addCriterion("customer_sex in", values, "customerSex");
            return (Criteria) this;
        }

        public Criteria andCustomerSexNotIn(List<Integer> values) {
            addCriterion("customer_sex not in", values, "customerSex");
            return (Criteria) this;
        }

        public Criteria andCustomerSexBetween(Integer value1, Integer value2) {
            addCriterion("customer_sex between", value1, value2, "customerSex");
            return (Criteria) this;
        }

        public Criteria andCustomerSexNotBetween(Integer value1, Integer value2) {
            addCriterion("customer_sex not between", value1, value2, "customerSex");
            return (Criteria) this;
        }

        public Criteria andCustomerMobileIsNull() {
            addCriterion("customer_mobile is null");
            return (Criteria) this;
        }

        public Criteria andCustomerMobileIsNotNull() {
            addCriterion("customer_mobile is not null");
            return (Criteria) this;
        }

        public Criteria andCustomerMobileEqualTo(String value) {
            addCriterion("customer_mobile =", value, "customerMobile");
            return (Criteria) this;
        }

        public Criteria andCustomerMobileNotEqualTo(String value) {
            addCriterion("customer_mobile <>", value, "customerMobile");
            return (Criteria) this;
        }

        public Criteria andCustomerMobileGreaterThan(String value) {
            addCriterion("customer_mobile >", value, "customerMobile");
            return (Criteria) this;
        }

        public Criteria andCustomerMobileGreaterThanOrEqualTo(String value) {
            addCriterion("customer_mobile >=", value, "customerMobile");
            return (Criteria) this;
        }

        public Criteria andCustomerMobileLessThan(String value) {
            addCriterion("customer_mobile <", value, "customerMobile");
            return (Criteria) this;
        }

        public Criteria andCustomerMobileLessThanOrEqualTo(String value) {
            addCriterion("customer_mobile <=", value, "customerMobile");
            return (Criteria) this;
        }

        public Criteria andCustomerMobileLike(String value) {
            addCriterion("customer_mobile like", value, "customerMobile");
            return (Criteria) this;
        }

        public Criteria andCustomerMobileNotLike(String value) {
            addCriterion("customer_mobile not like", value, "customerMobile");
            return (Criteria) this;
        }

        public Criteria andCustomerMobileIn(List<String> values) {
            addCriterion("customer_mobile in", values, "customerMobile");
            return (Criteria) this;
        }

        public Criteria andCustomerMobileNotIn(List<String> values) {
            addCriterion("customer_mobile not in", values, "customerMobile");
            return (Criteria) this;
        }

        public Criteria andCustomerMobileBetween(String value1, String value2) {
            addCriterion("customer_mobile between", value1, value2, "customerMobile");
            return (Criteria) this;
        }

        public Criteria andCustomerMobileNotBetween(String value1, String value2) {
            addCriterion("customer_mobile not between", value1, value2, "customerMobile");
            return (Criteria) this;
        }

        public Criteria andCustomerEmailIsNull() {
            addCriterion("customer_email is null");
            return (Criteria) this;
        }

        public Criteria andCustomerEmailIsNotNull() {
            addCriterion("customer_email is not null");
            return (Criteria) this;
        }

        public Criteria andCustomerEmailEqualTo(String value) {
            addCriterion("customer_email =", value, "customerEmail");
            return (Criteria) this;
        }

        public Criteria andCustomerEmailNotEqualTo(String value) {
            addCriterion("customer_email <>", value, "customerEmail");
            return (Criteria) this;
        }

        public Criteria andCustomerEmailGreaterThan(String value) {
            addCriterion("customer_email >", value, "customerEmail");
            return (Criteria) this;
        }

        public Criteria andCustomerEmailGreaterThanOrEqualTo(String value) {
            addCriterion("customer_email >=", value, "customerEmail");
            return (Criteria) this;
        }

        public Criteria andCustomerEmailLessThan(String value) {
            addCriterion("customer_email <", value, "customerEmail");
            return (Criteria) this;
        }

        public Criteria andCustomerEmailLessThanOrEqualTo(String value) {
            addCriterion("customer_email <=", value, "customerEmail");
            return (Criteria) this;
        }

        public Criteria andCustomerEmailLike(String value) {
            addCriterion("customer_email like", value, "customerEmail");
            return (Criteria) this;
        }

        public Criteria andCustomerEmailNotLike(String value) {
            addCriterion("customer_email not like", value, "customerEmail");
            return (Criteria) this;
        }

        public Criteria andCustomerEmailIn(List<String> values) {
            addCriterion("customer_email in", values, "customerEmail");
            return (Criteria) this;
        }

        public Criteria andCustomerEmailNotIn(List<String> values) {
            addCriterion("customer_email not in", values, "customerEmail");
            return (Criteria) this;
        }

        public Criteria andCustomerEmailBetween(String value1, String value2) {
            addCriterion("customer_email between", value1, value2, "customerEmail");
            return (Criteria) this;
        }

        public Criteria andCustomerEmailNotBetween(String value1, String value2) {
            addCriterion("customer_email not between", value1, value2, "customerEmail");
            return (Criteria) this;
        }

        public Criteria andIsMobileIsNull() {
            addCriterion("is_mobile is null");
            return (Criteria) this;
        }

        public Criteria andIsMobileIsNotNull() {
            addCriterion("is_mobile is not null");
            return (Criteria) this;
        }

        public Criteria andIsMobileEqualTo(Integer value) {
            addCriterion("is_mobile =", value, "isMobile");
            return (Criteria) this;
        }

        public Criteria andIsMobileNotEqualTo(Integer value) {
            addCriterion("is_mobile <>", value, "isMobile");
            return (Criteria) this;
        }

        public Criteria andIsMobileGreaterThan(Integer value) {
            addCriterion("is_mobile >", value, "isMobile");
            return (Criteria) this;
        }

        public Criteria andIsMobileGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_mobile >=", value, "isMobile");
            return (Criteria) this;
        }

        public Criteria andIsMobileLessThan(Integer value) {
            addCriterion("is_mobile <", value, "isMobile");
            return (Criteria) this;
        }

        public Criteria andIsMobileLessThanOrEqualTo(Integer value) {
            addCriterion("is_mobile <=", value, "isMobile");
            return (Criteria) this;
        }

        public Criteria andIsMobileIn(List<Integer> values) {
            addCriterion("is_mobile in", values, "isMobile");
            return (Criteria) this;
        }

        public Criteria andIsMobileNotIn(List<Integer> values) {
            addCriterion("is_mobile not in", values, "isMobile");
            return (Criteria) this;
        }

        public Criteria andIsMobileBetween(Integer value1, Integer value2) {
            addCriterion("is_mobile between", value1, value2, "isMobile");
            return (Criteria) this;
        }

        public Criteria andIsMobileNotBetween(Integer value1, Integer value2) {
            addCriterion("is_mobile not between", value1, value2, "isMobile");
            return (Criteria) this;
        }

        public Criteria andIsEmailIsNull() {
            addCriterion("is_email is null");
            return (Criteria) this;
        }

        public Criteria andIsEmailIsNotNull() {
            addCriterion("is_email is not null");
            return (Criteria) this;
        }

        public Criteria andIsEmailEqualTo(Integer value) {
            addCriterion("is_email =", value, "isEmail");
            return (Criteria) this;
        }

        public Criteria andIsEmailNotEqualTo(Integer value) {
            addCriterion("is_email <>", value, "isEmail");
            return (Criteria) this;
        }

        public Criteria andIsEmailGreaterThan(Integer value) {
            addCriterion("is_email >", value, "isEmail");
            return (Criteria) this;
        }

        public Criteria andIsEmailGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_email >=", value, "isEmail");
            return (Criteria) this;
        }

        public Criteria andIsEmailLessThan(Integer value) {
            addCriterion("is_email <", value, "isEmail");
            return (Criteria) this;
        }

        public Criteria andIsEmailLessThanOrEqualTo(Integer value) {
            addCriterion("is_email <=", value, "isEmail");
            return (Criteria) this;
        }

        public Criteria andIsEmailIn(List<Integer> values) {
            addCriterion("is_email in", values, "isEmail");
            return (Criteria) this;
        }

        public Criteria andIsEmailNotIn(List<Integer> values) {
            addCriterion("is_email not in", values, "isEmail");
            return (Criteria) this;
        }

        public Criteria andIsEmailBetween(Integer value1, Integer value2) {
            addCriterion("is_email between", value1, value2, "isEmail");
            return (Criteria) this;
        }

        public Criteria andIsEmailNotBetween(Integer value1, Integer value2) {
            addCriterion("is_email not between", value1, value2, "isEmail");
            return (Criteria) this;
        }

        public Criteria andIsFlagIsNull() {
            addCriterion("is_flag is null");
            return (Criteria) this;
        }

        public Criteria andIsFlagIsNotNull() {
            addCriterion("is_flag is not null");
            return (Criteria) this;
        }

        public Criteria andIsFlagEqualTo(Integer value) {
            addCriterion("is_flag =", value, "isFlag");
            return (Criteria) this;
        }

        public Criteria andIsFlagNotEqualTo(Integer value) {
            addCriterion("is_flag <>", value, "isFlag");
            return (Criteria) this;
        }

        public Criteria andIsFlagGreaterThan(Integer value) {
            addCriterion("is_flag >", value, "isFlag");
            return (Criteria) this;
        }

        public Criteria andIsFlagGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_flag >=", value, "isFlag");
            return (Criteria) this;
        }

        public Criteria andIsFlagLessThan(Integer value) {
            addCriterion("is_flag <", value, "isFlag");
            return (Criteria) this;
        }

        public Criteria andIsFlagLessThanOrEqualTo(Integer value) {
            addCriterion("is_flag <=", value, "isFlag");
            return (Criteria) this;
        }

        public Criteria andIsFlagIn(List<Integer> values) {
            addCriterion("is_flag in", values, "isFlag");
            return (Criteria) this;
        }

        public Criteria andIsFlagNotIn(List<Integer> values) {
            addCriterion("is_flag not in", values, "isFlag");
            return (Criteria) this;
        }

        public Criteria andIsFlagBetween(Integer value1, Integer value2) {
            addCriterion("is_flag between", value1, value2, "isFlag");
            return (Criteria) this;
        }

        public Criteria andIsFlagNotBetween(Integer value1, Integer value2) {
            addCriterion("is_flag not between", value1, value2, "isFlag");
            return (Criteria) this;
        }

        public Criteria andLoginIpIsNull() {
            addCriterion("login_ip is null");
            return (Criteria) this;
        }

        public Criteria andLoginIpIsNotNull() {
            addCriterion("login_ip is not null");
            return (Criteria) this;
        }

        public Criteria andLoginIpEqualTo(String value) {
            addCriterion("login_ip =", value, "loginIp");
            return (Criteria) this;
        }

        public Criteria andLoginIpNotEqualTo(String value) {
            addCriterion("login_ip <>", value, "loginIp");
            return (Criteria) this;
        }

        public Criteria andLoginIpGreaterThan(String value) {
            addCriterion("login_ip >", value, "loginIp");
            return (Criteria) this;
        }

        public Criteria andLoginIpGreaterThanOrEqualTo(String value) {
            addCriterion("login_ip >=", value, "loginIp");
            return (Criteria) this;
        }

        public Criteria andLoginIpLessThan(String value) {
            addCriterion("login_ip <", value, "loginIp");
            return (Criteria) this;
        }

        public Criteria andLoginIpLessThanOrEqualTo(String value) {
            addCriterion("login_ip <=", value, "loginIp");
            return (Criteria) this;
        }

        public Criteria andLoginIpLike(String value) {
            addCriterion("login_ip like", value, "loginIp");
            return (Criteria) this;
        }

        public Criteria andLoginIpNotLike(String value) {
            addCriterion("login_ip not like", value, "loginIp");
            return (Criteria) this;
        }

        public Criteria andLoginIpIn(List<String> values) {
            addCriterion("login_ip in", values, "loginIp");
            return (Criteria) this;
        }

        public Criteria andLoginIpNotIn(List<String> values) {
            addCriterion("login_ip not in", values, "loginIp");
            return (Criteria) this;
        }

        public Criteria andLoginIpBetween(String value1, String value2) {
            addCriterion("login_ip between", value1, value2, "loginIp");
            return (Criteria) this;
        }

        public Criteria andLoginIpNotBetween(String value1, String value2) {
            addCriterion("login_ip not between", value1, value2, "loginIp");
            return (Criteria) this;
        }

        public Criteria andLoginTimeIsNull() {
            addCriterion("login_time is null");
            return (Criteria) this;
        }

        public Criteria andLoginTimeIsNotNull() {
            addCriterion("login_time is not null");
            return (Criteria) this;
        }

        public Criteria andLoginTimeEqualTo(Date value) {
            addCriterion("login_time =", value, "loginTime");
            return (Criteria) this;
        }

        public Criteria andLoginTimeNotEqualTo(Date value) {
            addCriterion("login_time <>", value, "loginTime");
            return (Criteria) this;
        }

        public Criteria andLoginTimeGreaterThan(Date value) {
            addCriterion("login_time >", value, "loginTime");
            return (Criteria) this;
        }

        public Criteria andLoginTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("login_time >=", value, "loginTime");
            return (Criteria) this;
        }

        public Criteria andLoginTimeLessThan(Date value) {
            addCriterion("login_time <", value, "loginTime");
            return (Criteria) this;
        }

        public Criteria andLoginTimeLessThanOrEqualTo(Date value) {
            addCriterion("login_time <=", value, "loginTime");
            return (Criteria) this;
        }

        public Criteria andLoginTimeIn(List<Date> values) {
            addCriterion("login_time in", values, "loginTime");
            return (Criteria) this;
        }

        public Criteria andLoginTimeNotIn(List<Date> values) {
            addCriterion("login_time not in", values, "loginTime");
            return (Criteria) this;
        }

        public Criteria andLoginTimeBetween(Date value1, Date value2) {
            addCriterion("login_time between", value1, value2, "loginTime");
            return (Criteria) this;
        }

        public Criteria andLoginTimeNotBetween(Date value1, Date value2) {
            addCriterion("login_time not between", value1, value2, "loginTime");
            return (Criteria) this;
        }

        public Criteria andDelFlagIsNull() {
            addCriterion("del_flag is null");
            return (Criteria) this;
        }

        public Criteria andDelFlagIsNotNull() {
            addCriterion("del_flag is not null");
            return (Criteria) this;
        }

        public Criteria andDelFlagEqualTo(Integer value) {
            addCriterion("del_flag =", value, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagNotEqualTo(Integer value) {
            addCriterion("del_flag <>", value, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagGreaterThan(Integer value) {
            addCriterion("del_flag >", value, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagGreaterThanOrEqualTo(Integer value) {
            addCriterion("del_flag >=", value, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagLessThan(Integer value) {
            addCriterion("del_flag <", value, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagLessThanOrEqualTo(Integer value) {
            addCriterion("del_flag <=", value, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagIn(List<Integer> values) {
            addCriterion("del_flag in", values, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagNotIn(List<Integer> values) {
            addCriterion("del_flag not in", values, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagBetween(Integer value1, Integer value2) {
            addCriterion("del_flag between", value1, value2, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagNotBetween(Integer value1, Integer value2) {
            addCriterion("del_flag not between", value1, value2, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelTimeIsNull() {
            addCriterion("del_time is null");
            return (Criteria) this;
        }

        public Criteria andDelTimeIsNotNull() {
            addCriterion("del_time is not null");
            return (Criteria) this;
        }

        public Criteria andDelTimeEqualTo(Date value) {
            addCriterion("del_time =", value, "delTime");
            return (Criteria) this;
        }

        public Criteria andDelTimeNotEqualTo(Date value) {
            addCriterion("del_time <>", value, "delTime");
            return (Criteria) this;
        }

        public Criteria andDelTimeGreaterThan(Date value) {
            addCriterion("del_time >", value, "delTime");
            return (Criteria) this;
        }

        public Criteria andDelTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("del_time >=", value, "delTime");
            return (Criteria) this;
        }

        public Criteria andDelTimeLessThan(Date value) {
            addCriterion("del_time <", value, "delTime");
            return (Criteria) this;
        }

        public Criteria andDelTimeLessThanOrEqualTo(Date value) {
            addCriterion("del_time <=", value, "delTime");
            return (Criteria) this;
        }

        public Criteria andDelTimeIn(List<Date> values) {
            addCriterion("del_time in", values, "delTime");
            return (Criteria) this;
        }

        public Criteria andDelTimeNotIn(List<Date> values) {
            addCriterion("del_time not in", values, "delTime");
            return (Criteria) this;
        }

        public Criteria andDelTimeBetween(Date value1, Date value2) {
            addCriterion("del_time between", value1, value2, "delTime");
            return (Criteria) this;
        }

        public Criteria andDelTimeNotBetween(Date value1, Date value2) {
            addCriterion("del_time not between", value1, value2, "delTime");
            return (Criteria) this;
        }

        public Criteria andCustomerImgIsNull() {
            addCriterion("customer_img is null");
            return (Criteria) this;
        }

        public Criteria andCustomerImgIsNotNull() {
            addCriterion("customer_img is not null");
            return (Criteria) this;
        }

        public Criteria andCustomerImgEqualTo(String value) {
            addCriterion("customer_img =", value, "customerImg");
            return (Criteria) this;
        }

        public Criteria andCustomerImgNotEqualTo(String value) {
            addCriterion("customer_img <>", value, "customerImg");
            return (Criteria) this;
        }

        public Criteria andCustomerImgGreaterThan(String value) {
            addCriterion("customer_img >", value, "customerImg");
            return (Criteria) this;
        }

        public Criteria andCustomerImgGreaterThanOrEqualTo(String value) {
            addCriterion("customer_img >=", value, "customerImg");
            return (Criteria) this;
        }

        public Criteria andCustomerImgLessThan(String value) {
            addCriterion("customer_img <", value, "customerImg");
            return (Criteria) this;
        }

        public Criteria andCustomerImgLessThanOrEqualTo(String value) {
            addCriterion("customer_img <=", value, "customerImg");
            return (Criteria) this;
        }

        public Criteria andCustomerImgLike(String value) {
            addCriterion("customer_img like", value, "customerImg");
            return (Criteria) this;
        }

        public Criteria andCustomerImgNotLike(String value) {
            addCriterion("customer_img not like", value, "customerImg");
            return (Criteria) this;
        }

        public Criteria andCustomerImgIn(List<String> values) {
            addCriterion("customer_img in", values, "customerImg");
            return (Criteria) this;
        }

        public Criteria andCustomerImgNotIn(List<String> values) {
            addCriterion("customer_img not in", values, "customerImg");
            return (Criteria) this;
        }

        public Criteria andCustomerImgBetween(String value1, String value2) {
            addCriterion("customer_img between", value1, value2, "customerImg");
            return (Criteria) this;
        }

        public Criteria andCustomerImgNotBetween(String value1, String value2) {
            addCriterion("customer_img not between", value1, value2, "customerImg");
            return (Criteria) this;
        }

        public Criteria andMobileCodeIsNull() {
            addCriterion("mobile_code is null");
            return (Criteria) this;
        }

        public Criteria andMobileCodeIsNotNull() {
            addCriterion("mobile_code is not null");
            return (Criteria) this;
        }

        public Criteria andMobileCodeEqualTo(String value) {
            addCriterion("mobile_code =", value, "mobileCode");
            return (Criteria) this;
        }

        public Criteria andMobileCodeNotEqualTo(String value) {
            addCriterion("mobile_code <>", value, "mobileCode");
            return (Criteria) this;
        }

        public Criteria andMobileCodeGreaterThan(String value) {
            addCriterion("mobile_code >", value, "mobileCode");
            return (Criteria) this;
        }

        public Criteria andMobileCodeGreaterThanOrEqualTo(String value) {
            addCriterion("mobile_code >=", value, "mobileCode");
            return (Criteria) this;
        }

        public Criteria andMobileCodeLessThan(String value) {
            addCriterion("mobile_code <", value, "mobileCode");
            return (Criteria) this;
        }

        public Criteria andMobileCodeLessThanOrEqualTo(String value) {
            addCriterion("mobile_code <=", value, "mobileCode");
            return (Criteria) this;
        }

        public Criteria andMobileCodeLike(String value) {
            addCriterion("mobile_code like", value, "mobileCode");
            return (Criteria) this;
        }

        public Criteria andMobileCodeNotLike(String value) {
            addCriterion("mobile_code not like", value, "mobileCode");
            return (Criteria) this;
        }

        public Criteria andMobileCodeIn(List<String> values) {
            addCriterion("mobile_code in", values, "mobileCode");
            return (Criteria) this;
        }

        public Criteria andMobileCodeNotIn(List<String> values) {
            addCriterion("mobile_code not in", values, "mobileCode");
            return (Criteria) this;
        }

        public Criteria andMobileCodeBetween(String value1, String value2) {
            addCriterion("mobile_code between", value1, value2, "mobileCode");
            return (Criteria) this;
        }

        public Criteria andMobileCodeNotBetween(String value1, String value2) {
            addCriterion("mobile_code not between", value1, value2, "mobileCode");
            return (Criteria) this;
        }

        public Criteria andMobileCodeTimeIsNull() {
            addCriterion("mobile_code_time is null");
            return (Criteria) this;
        }

        public Criteria andMobileCodeTimeIsNotNull() {
            addCriterion("mobile_code_time is not null");
            return (Criteria) this;
        }

        public Criteria andMobileCodeTimeEqualTo(Date value) {
            addCriterion("mobile_code_time =", value, "mobileCodeTime");
            return (Criteria) this;
        }

        public Criteria andMobileCodeTimeNotEqualTo(Date value) {
            addCriterion("mobile_code_time <>", value, "mobileCodeTime");
            return (Criteria) this;
        }

        public Criteria andMobileCodeTimeGreaterThan(Date value) {
            addCriterion("mobile_code_time >", value, "mobileCodeTime");
            return (Criteria) this;
        }

        public Criteria andMobileCodeTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("mobile_code_time >=", value, "mobileCodeTime");
            return (Criteria) this;
        }

        public Criteria andMobileCodeTimeLessThan(Date value) {
            addCriterion("mobile_code_time <", value, "mobileCodeTime");
            return (Criteria) this;
        }

        public Criteria andMobileCodeTimeLessThanOrEqualTo(Date value) {
            addCriterion("mobile_code_time <=", value, "mobileCodeTime");
            return (Criteria) this;
        }

        public Criteria andMobileCodeTimeIn(List<Date> values) {
            addCriterion("mobile_code_time in", values, "mobileCodeTime");
            return (Criteria) this;
        }

        public Criteria andMobileCodeTimeNotIn(List<Date> values) {
            addCriterion("mobile_code_time not in", values, "mobileCodeTime");
            return (Criteria) this;
        }

        public Criteria andMobileCodeTimeBetween(Date value1, Date value2) {
            addCriterion("mobile_code_time between", value1, value2, "mobileCodeTime");
            return (Criteria) this;
        }

        public Criteria andMobileCodeTimeNotBetween(Date value1, Date value2) {
            addCriterion("mobile_code_time not between", value1, value2, "mobileCodeTime");
            return (Criteria) this;
        }

        public Criteria andEmailCodeIsNull() {
            addCriterion("email_code is null");
            return (Criteria) this;
        }

        public Criteria andEmailCodeIsNotNull() {
            addCriterion("email_code is not null");
            return (Criteria) this;
        }

        public Criteria andEmailCodeEqualTo(String value) {
            addCriterion("email_code =", value, "emailCode");
            return (Criteria) this;
        }

        public Criteria andEmailCodeNotEqualTo(String value) {
            addCriterion("email_code <>", value, "emailCode");
            return (Criteria) this;
        }

        public Criteria andEmailCodeGreaterThan(String value) {
            addCriterion("email_code >", value, "emailCode");
            return (Criteria) this;
        }

        public Criteria andEmailCodeGreaterThanOrEqualTo(String value) {
            addCriterion("email_code >=", value, "emailCode");
            return (Criteria) this;
        }

        public Criteria andEmailCodeLessThan(String value) {
            addCriterion("email_code <", value, "emailCode");
            return (Criteria) this;
        }

        public Criteria andEmailCodeLessThanOrEqualTo(String value) {
            addCriterion("email_code <=", value, "emailCode");
            return (Criteria) this;
        }

        public Criteria andEmailCodeLike(String value) {
            addCriterion("email_code like", value, "emailCode");
            return (Criteria) this;
        }

        public Criteria andEmailCodeNotLike(String value) {
            addCriterion("email_code not like", value, "emailCode");
            return (Criteria) this;
        }

        public Criteria andEmailCodeIn(List<String> values) {
            addCriterion("email_code in", values, "emailCode");
            return (Criteria) this;
        }

        public Criteria andEmailCodeNotIn(List<String> values) {
            addCriterion("email_code not in", values, "emailCode");
            return (Criteria) this;
        }

        public Criteria andEmailCodeBetween(String value1, String value2) {
            addCriterion("email_code between", value1, value2, "emailCode");
            return (Criteria) this;
        }

        public Criteria andEmailCodeNotBetween(String value1, String value2) {
            addCriterion("email_code not between", value1, value2, "emailCode");
            return (Criteria) this;
        }

        public Criteria andEmailCodeTimeIsNull() {
            addCriterion("email_code_time is null");
            return (Criteria) this;
        }

        public Criteria andEmailCodeTimeIsNotNull() {
            addCriterion("email_code_time is not null");
            return (Criteria) this;
        }

        public Criteria andEmailCodeTimeEqualTo(Date value) {
            addCriterion("email_code_time =", value, "emailCodeTime");
            return (Criteria) this;
        }

        public Criteria andEmailCodeTimeNotEqualTo(Date value) {
            addCriterion("email_code_time <>", value, "emailCodeTime");
            return (Criteria) this;
        }

        public Criteria andEmailCodeTimeGreaterThan(Date value) {
            addCriterion("email_code_time >", value, "emailCodeTime");
            return (Criteria) this;
        }

        public Criteria andEmailCodeTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("email_code_time >=", value, "emailCodeTime");
            return (Criteria) this;
        }

        public Criteria andEmailCodeTimeLessThan(Date value) {
            addCriterion("email_code_time <", value, "emailCodeTime");
            return (Criteria) this;
        }

        public Criteria andEmailCodeTimeLessThanOrEqualTo(Date value) {
            addCriterion("email_code_time <=", value, "emailCodeTime");
            return (Criteria) this;
        }

        public Criteria andEmailCodeTimeIn(List<Date> values) {
            addCriterion("email_code_time in", values, "emailCodeTime");
            return (Criteria) this;
        }

        public Criteria andEmailCodeTimeNotIn(List<Date> values) {
            addCriterion("email_code_time not in", values, "emailCodeTime");
            return (Criteria) this;
        }

        public Criteria andEmailCodeTimeBetween(Date value1, Date value2) {
            addCriterion("email_code_time between", value1, value2, "emailCodeTime");
            return (Criteria) this;
        }

        public Criteria andEmailCodeTimeNotBetween(Date value1, Date value2) {
            addCriterion("email_code_time not between", value1, value2, "emailCodeTime");
            return (Criteria) this;
        }

        public Criteria andIsSellerIsNull() {
            addCriterion("is_seller is null");
            return (Criteria) this;
        }

        public Criteria andIsSellerIsNotNull() {
            addCriterion("is_seller is not null");
            return (Criteria) this;
        }

        public Criteria andIsSellerEqualTo(Integer value) {
            addCriterion("is_seller =", value, "isSeller");
            return (Criteria) this;
        }

        public Criteria andIsSellerNotEqualTo(Integer value) {
            addCriterion("is_seller <>", value, "isSeller");
            return (Criteria) this;
        }

        public Criteria andIsSellerGreaterThan(Integer value) {
            addCriterion("is_seller >", value, "isSeller");
            return (Criteria) this;
        }

        public Criteria andIsSellerGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_seller >=", value, "isSeller");
            return (Criteria) this;
        }

        public Criteria andIsSellerLessThan(Integer value) {
            addCriterion("is_seller <", value, "isSeller");
            return (Criteria) this;
        }

        public Criteria andIsSellerLessThanOrEqualTo(Integer value) {
            addCriterion("is_seller <=", value, "isSeller");
            return (Criteria) this;
        }

        public Criteria andIsSellerIn(List<Integer> values) {
            addCriterion("is_seller in", values, "isSeller");
            return (Criteria) this;
        }

        public Criteria andIsSellerNotIn(List<Integer> values) {
            addCriterion("is_seller not in", values, "isSeller");
            return (Criteria) this;
        }

        public Criteria andIsSellerBetween(Integer value1, Integer value2) {
            addCriterion("is_seller between", value1, value2, "isSeller");
            return (Criteria) this;
        }

        public Criteria andIsSellerNotBetween(Integer value1, Integer value2) {
            addCriterion("is_seller not between", value1, value2, "isSeller");
            return (Criteria) this;
        }

        public Criteria andLoginErrorCountIsNull() {
            addCriterion("login_error_count is null");
            return (Criteria) this;
        }

        public Criteria andLoginErrorCountIsNotNull() {
            addCriterion("login_error_count is not null");
            return (Criteria) this;
        }

        public Criteria andLoginErrorCountEqualTo(Integer value) {
            addCriterion("login_error_count =", value, "loginErrorCount");
            return (Criteria) this;
        }

        public Criteria andLoginErrorCountNotEqualTo(Integer value) {
            addCriterion("login_error_count <>", value, "loginErrorCount");
            return (Criteria) this;
        }

        public Criteria andLoginErrorCountGreaterThan(Integer value) {
            addCriterion("login_error_count >", value, "loginErrorCount");
            return (Criteria) this;
        }

        public Criteria andLoginErrorCountGreaterThanOrEqualTo(Integer value) {
            addCriterion("login_error_count >=", value, "loginErrorCount");
            return (Criteria) this;
        }

        public Criteria andLoginErrorCountLessThan(Integer value) {
            addCriterion("login_error_count <", value, "loginErrorCount");
            return (Criteria) this;
        }

        public Criteria andLoginErrorCountLessThanOrEqualTo(Integer value) {
            addCriterion("login_error_count <=", value, "loginErrorCount");
            return (Criteria) this;
        }

        public Criteria andLoginErrorCountIn(List<Integer> values) {
            addCriterion("login_error_count in", values, "loginErrorCount");
            return (Criteria) this;
        }

        public Criteria andLoginErrorCountNotIn(List<Integer> values) {
            addCriterion("login_error_count not in", values, "loginErrorCount");
            return (Criteria) this;
        }

        public Criteria andLoginErrorCountBetween(Integer value1, Integer value2) {
            addCriterion("login_error_count between", value1, value2, "loginErrorCount");
            return (Criteria) this;
        }

        public Criteria andLoginErrorCountNotBetween(Integer value1, Integer value2) {
            addCriterion("login_error_count not between", value1, value2, "loginErrorCount");
            return (Criteria) this;
        }

        public Criteria andLoginLockTimeIsNull() {
            addCriterion("login_lock_time is null");
            return (Criteria) this;
        }

        public Criteria andLoginLockTimeIsNotNull() {
            addCriterion("login_lock_time is not null");
            return (Criteria) this;
        }

        public Criteria andLoginLockTimeEqualTo(Date value) {
            addCriterion("login_lock_time =", value, "loginLockTime");
            return (Criteria) this;
        }

        public Criteria andLoginLockTimeNotEqualTo(Date value) {
            addCriterion("login_lock_time <>", value, "loginLockTime");
            return (Criteria) this;
        }

        public Criteria andLoginLockTimeGreaterThan(Date value) {
            addCriterion("login_lock_time >", value, "loginLockTime");
            return (Criteria) this;
        }

        public Criteria andLoginLockTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("login_lock_time >=", value, "loginLockTime");
            return (Criteria) this;
        }

        public Criteria andLoginLockTimeLessThan(Date value) {
            addCriterion("login_lock_time <", value, "loginLockTime");
            return (Criteria) this;
        }

        public Criteria andLoginLockTimeLessThanOrEqualTo(Date value) {
            addCriterion("login_lock_time <=", value, "loginLockTime");
            return (Criteria) this;
        }

        public Criteria andLoginLockTimeIn(List<Date> values) {
            addCriterion("login_lock_time in", values, "loginLockTime");
            return (Criteria) this;
        }

        public Criteria andLoginLockTimeNotIn(List<Date> values) {
            addCriterion("login_lock_time not in", values, "loginLockTime");
            return (Criteria) this;
        }

        public Criteria andLoginLockTimeBetween(Date value1, Date value2) {
            addCriterion("login_lock_time between", value1, value2, "loginLockTime");
            return (Criteria) this;
        }

        public Criteria andLoginLockTimeNotBetween(Date value1, Date value2) {
            addCriterion("login_lock_time not between", value1, value2, "loginLockTime");
            return (Criteria) this;
        }

        public Criteria andUserSaltIsNull() {
            addCriterion("user_salt is null");
            return (Criteria) this;
        }

        public Criteria andUserSaltIsNotNull() {
            addCriterion("user_salt is not null");
            return (Criteria) this;
        }

        public Criteria andUserSaltEqualTo(String value) {
            addCriterion("user_salt =", value, "userSalt");
            return (Criteria) this;
        }

        public Criteria andUserSaltNotEqualTo(String value) {
            addCriterion("user_salt <>", value, "userSalt");
            return (Criteria) this;
        }

        public Criteria andUserSaltGreaterThan(String value) {
            addCriterion("user_salt >", value, "userSalt");
            return (Criteria) this;
        }

        public Criteria andUserSaltGreaterThanOrEqualTo(String value) {
            addCriterion("user_salt >=", value, "userSalt");
            return (Criteria) this;
        }

        public Criteria andUserSaltLessThan(String value) {
            addCriterion("user_salt <", value, "userSalt");
            return (Criteria) this;
        }

        public Criteria andUserSaltLessThanOrEqualTo(String value) {
            addCriterion("user_salt <=", value, "userSalt");
            return (Criteria) this;
        }

        public Criteria andUserSaltLike(String value) {
            addCriterion("user_salt like", value, "userSalt");
            return (Criteria) this;
        }

        public Criteria andUserSaltNotLike(String value) {
            addCriterion("user_salt not like", value, "userSalt");
            return (Criteria) this;
        }

        public Criteria andUserSaltIn(List<String> values) {
            addCriterion("user_salt in", values, "userSalt");
            return (Criteria) this;
        }

        public Criteria andUserSaltNotIn(List<String> values) {
            addCriterion("user_salt not in", values, "userSalt");
            return (Criteria) this;
        }

        public Criteria andUserSaltBetween(String value1, String value2) {
            addCriterion("user_salt between", value1, value2, "userSalt");
            return (Criteria) this;
        }

        public Criteria andUserSaltNotBetween(String value1, String value2) {
            addCriterion("user_salt not between", value1, value2, "userSalt");
            return (Criteria) this;
        }

        public Criteria andTokenIsNull() {
            addCriterion("token is null");
            return (Criteria) this;
        }

        public Criteria andTokenIsNotNull() {
            addCriterion("token is not null");
            return (Criteria) this;
        }

        public Criteria andTokenEqualTo(String value) {
            addCriterion("token =", value, "token");
            return (Criteria) this;
        }

        public Criteria andTokenNotEqualTo(String value) {
            addCriterion("token <>", value, "token");
            return (Criteria) this;
        }

        public Criteria andTokenGreaterThan(String value) {
            addCriterion("token >", value, "token");
            return (Criteria) this;
        }

        public Criteria andTokenGreaterThanOrEqualTo(String value) {
            addCriterion("token >=", value, "token");
            return (Criteria) this;
        }

        public Criteria andTokenLessThan(String value) {
            addCriterion("token <", value, "token");
            return (Criteria) this;
        }

        public Criteria andTokenLessThanOrEqualTo(String value) {
            addCriterion("token <=", value, "token");
            return (Criteria) this;
        }

        public Criteria andTokenLike(String value) {
            addCriterion("token like", value, "token");
            return (Criteria) this;
        }

        public Criteria andTokenNotLike(String value) {
            addCriterion("token not like", value, "token");
            return (Criteria) this;
        }

        public Criteria andTokenIn(List<String> values) {
            addCriterion("token in", values, "token");
            return (Criteria) this;
        }

        public Criteria andTokenNotIn(List<String> values) {
            addCriterion("token not in", values, "token");
            return (Criteria) this;
        }

        public Criteria andTokenBetween(String value1, String value2) {
            addCriterion("token between", value1, value2, "token");
            return (Criteria) this;
        }

        public Criteria andTokenNotBetween(String value1, String value2) {
            addCriterion("token not between", value1, value2, "token");
            return (Criteria) this;
        }

        public Criteria andTokenExpireTimeIsNull() {
            addCriterion("token_expire_time is null");
            return (Criteria) this;
        }

        public Criteria andTokenExpireTimeIsNotNull() {
            addCriterion("token_expire_time is not null");
            return (Criteria) this;
        }

        public Criteria andTokenExpireTimeEqualTo(Date value) {
            addCriterion("token_expire_time =", value, "tokenExpireTime");
            return (Criteria) this;
        }

        public Criteria andTokenExpireTimeNotEqualTo(Date value) {
            addCriterion("token_expire_time <>", value, "tokenExpireTime");
            return (Criteria) this;
        }

        public Criteria andTokenExpireTimeGreaterThan(Date value) {
            addCriterion("token_expire_time >", value, "tokenExpireTime");
            return (Criteria) this;
        }

        public Criteria andTokenExpireTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("token_expire_time >=", value, "tokenExpireTime");
            return (Criteria) this;
        }

        public Criteria andTokenExpireTimeLessThan(Date value) {
            addCriterion("token_expire_time <", value, "tokenExpireTime");
            return (Criteria) this;
        }

        public Criteria andTokenExpireTimeLessThanOrEqualTo(Date value) {
            addCriterion("token_expire_time <=", value, "tokenExpireTime");
            return (Criteria) this;
        }

        public Criteria andTokenExpireTimeIn(List<Date> values) {
            addCriterion("token_expire_time in", values, "tokenExpireTime");
            return (Criteria) this;
        }

        public Criteria andTokenExpireTimeNotIn(List<Date> values) {
            addCriterion("token_expire_time not in", values, "tokenExpireTime");
            return (Criteria) this;
        }

        public Criteria andTokenExpireTimeBetween(Date value1, Date value2) {
            addCriterion("token_expire_time between", value1, value2, "tokenExpireTime");
            return (Criteria) this;
        }

        public Criteria andTokenExpireTimeNotBetween(Date value1, Date value2) {
            addCriterion("token_expire_time not between", value1, value2, "tokenExpireTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}